Systems and methods of distributed self-configuration for extended service set mesh networks

ABSTRACT

An embodiment selects radio frequency parameters that are optimal for an extended service set mesh network having a wireless mesh of several access points and clients. This embodiment may include: periodically scanning, by all access points and clients, channels to maintain an up-to-date channel interference table and to detect an interference source; detecting an interference source; electing a leader access point; gathering, by each access point except the leader access point, information from respective clients of each access point, and sending the information to the leader access point; selecting, by the leader access point, optimal radio frequency parameters using the information received by the leader access point; and disseminating the selected radio frequency parameters to the access points. A system may implement the operational embodiment.

TECHNICAL FIELD

Exemplary embodiments relate to wireless networks and, in particular, toa distributed operation for automatically configuring parameters in awireless ESS (Extended Service Set) mesh network.

BACKGROUND

Today the volume of 802.11 products is on the rise, thus making itchallenging to control the escalation of radio frequency interference.Even in enterprise environments, with IT (Information Technology)support staff, configuration of 802.11 RF (Radio Frequency) parametersto minimize interference requires a huge amount of work. In addition,while the configuration may be initially optimal, when the environmentchanges (e.g., a neighboring office installs a new wireless network) theconfiguration may require adjustment. In an ESS mesh network,identification of an optimal configuration is challenging, since theselected configuration will not necessarily be optimal for each AP(Access Point) and will instead be optimal for the network as a whole.

A current method for RF configuration is a manual method where a sitesurvey is performed at the time of network deployment. However, thissolution does not adapt to changes in the environment.

In known centralized methods APs report to a single predefined centraldevice, which makes all configuration decisions. Centralized solutionsrequire each network to include a specialized node, introducing a singlepoint of failure. In addition, a centralized approach requires nodes toconstantly report their status to the controlling node, introducingadditional management overhead.

Therefore, there is a need in the art for an improved operation forconfiguring an ESS mesh network.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying figures, in which like reference numerals refer toidentical or functionally similar elements throughout the separate viewsand which are incorporated in and form part of the specification,further illustrate exemplary embodiments.

FIG. 1 shows a diagram of a wireless network;

FIG. 2 depicts an exemplary embodiment;

FIG. 3 depicts a more detailed flow diagram of leader election;

FIG. 4 depicts channel scanning and interference detection;

FIG. 5 depicts leader election;

FIG. 6 depicts information gathering;

FIG. 7 depicts dissemination of the selected configuration; and

FIG. 8 depicts an example of an ESS mesh network.

DETAILED DESCRIPTION

In the following detailed description of the various embodiments,reference is made to the accompanying drawings that form a part hereof,and in which are shown by way of illustration specific embodiments.These embodiments are described in sufficient detail for those skilledin the art, and it is to be understood that other embodiments may beutilized and that changes may be made without departing from the scopeof the operational principles of the various embodiments. The followingdetailed description is, therefore, not to be taken in a limiting sense,and the scope is defined only by the appended claims.

FIG. 1 shows a diagram of a wireless network. Wireless network 100includes access point (AP) 102 and clients, such as mobile stations(STA) 110, 120, and 130. In some embodiments, wireless network 100 is awireless local area network (WLAN). For example, one or more of mobilestations 110, 120, and 130, or access point 102 may operate incompliance with a wireless network standard such as ANSI/IEEE (AmericanNational Standards Institute/Institution of Electrical and ElectronicEngineers) Std. 802.11, 1999 Edition, although this is not a limitationof the present embodiments. As used herein, the term “802.11” refers toany past, present, or future IEEE 802.11 standard, including, but notlimited to, the 1999 edition.

Mobile stations 110, 120, and 130 maybe any type of mobile stationcapable of communicating in network 100. For example, the mobilestations may be computers, personal digital assistants, wireless-capablecellular phones, or the like. As explained below, in some embodiments,mobile stations 110, 120, and 130 operate in compliance with an 802.11standard, and are also capable of scanning channels to detectinterference. The channel scanning may occur simultaneously with channelscanning performed by access point 102, or may be performed at periodicintervals whether or not access point 102 performs channel scanning.

Access point 102 communicates with mobile station 110 (also referred toas “STA1”) using signal 112. Access point 102 communicates with mobilestation 120 (also referred to as “STA2”) using signal 122, and accesspoint 102 communicates with mobile station 130 (also referred to as“STA3”) using signal 132. In some embodiments, signals 112, 122, and 132utilize one out of many possible “channels.” For example, wirelessnetwork 100 may operate in a single channel, and signals 112, 122, and132 are all signals in the single channel. This single channel isreferred to herein as the “channel in use” by wireless network 100. Thechannel in use by network 100 may be subject to interference by otherwireless networks or other RF (Radio Frequency) emitters. Other channelsavailable to wireless network 100 may also be subject to interference.In some embodiments, wireless network 100 may change the channel in useto any channel available to network 100.

A communications medium may include any number of channels, and thechannels may be defined in many different ways. As used herein, the term“channel” refers to any subset of a communication medium that may beused for a communication in a wireless network. For example, in somefrequency division multiplexing embodiments, channels may be defined bya frequency band. Also for example, in some spread spectrum embodiments,channels may be defined by codes used to specify the spreading of thesignal. In still further embodiments, channels may be defined using acombination of spatial information and other information, such as insystems that utilize spatial division multiple access (SDMA) ormultiple-input-multiple-output (MIMO) communications. Channels may bedefined in any manner and be still useable with the exemplaryembodiments.

Wireless networks may use any available channel. Other wireless networksor RF emitters may also use one or more channels available to wirelessnetwork 100, resulting in interference. In various embodiments, accesspoints and mobile stations perform channel “scans” to detect potentialinterference. As used herein the term “scan” refers to an act ofmonitoring one or more channels to detect potentially interferingsignals. In some embodiments, channel scanning is performed by both anaccess point and one or more mobile stations in a coordinated fashion.For example, an access point may scan one channel, while a mobilestation simultaneously scans a different channel.

Channels are scanned periodically, and one or more tables of channelinterference, or “scan tables,” are maintained to track which channelsare subject to interference. For example, in some embodiments, eachdevice in the network (e.g., access points and mobile stations) maymaintain a single scan table, and an access point may obtain scan tablesor parts thereof from mobile stations.

An access point may broadcast general scan information to any mobilestations within range. The general scan information may be broadcast inpackets, frames, or the like.

General scan information broadcasts may include many parameters. Forexample, general scan information broadcasts may include parameters suchas a scan length, a channel scan period, initial channel assignments foreach mobile station to scan, and a rule for determining a next channelto scan. Further, an access point may optionally assign the firstchannel to be scanned by each mobile station. By assigning a firstchannel to scan, the access point may ensure that each mobile stationscans a different channel in each scan period or that all channels arescanned in the least amount of time. In some embodiments, the firstchannel assignment is not provided, and the mobile station may choosethe first channel to be scanned, either randomly or according to apredetermined algorithm.

The channel scan period and the channel scan length may be set to anyappropriate values. For example, in some embodiments, the channel scanperiod may be set to between 10 and 15 seconds, so that mobile stationswill perform channel scans every 10 to 15 seconds if the access pointdoes not initiate a channel scan sooner. Also for example, a channelscan length may be set to a few hundred milliseconds. In someembodiments, the channel scan length may be set based in part on theexpected interference. For example, a channel scan length may be set to200 milliseconds in an effort to detect interfering 802.11 networks witha beacon interval of 100 milliseconds. The values for periods andlengths just described are provided as examples only, and the variousembodiments are not limited in this regard.

When broadcasting general scan information, the access point may alsospecify a rule for the mobile stations to determine a next channel toscan. For example, the access point may specify that mobile stations areto increment a channel number after performing a channel scan, and theincremented channel number will specify the next channel to be scanned.In these embodiments, each mobile station scans a sequential block ofchannels over time. Also, for example, the access point may specify thatmobile stations are to compute a next channel to be scanned using a morecomplex algorithm, such as adding an offset other than one, or lookingup a next channel assignment in a table.

In general, the exemplary embodiments provide an efficient distributedoperation for choosing RF parameters that are optimal for the network asa whole. While the exemplary embodiments may be used to dynamicallyconfigure a variety of different parameters, such as operation channel,transmission power level, and power management modes, an exemplaryembodiment for channel configuration is described below.

The ESS (Extended Service Set) mesh network 100 may have fiveinterconnected subsystems as follows: channel scanning subsystem (141),interference detection subsystem (142), leader election subsystem (143),information gathering subsystem (144), and dissemination of the selectedconfiguration subsystem (145).

An ESS mesh network may be a wireless mesh network having several APsand clients. The ESS Mesh network is a next generation wireless networkwhere multiple clients and AP's operate in a multi hop manner to extendwireless range and provide robust connectivity. All APs and clients inan ESS mesh network may operate using the same ESSID (Extended ServiceSet IDentification) and communicate with each other on the sameoperating channel, which forms the backbone of the network. With theexemplary embodiments, devices in the ESS mesh network may coordinatewith each other to pick an optimal transmission channel for the networkbackbone. Operation of the embodiments may be dynamic and may adapt to achanging wireless environment.

FIG. 2 depicts an exemplary embodiment. This embodiment may basicallyinvolve five operations: channel scanning (operation 201), interferencedetection (operation 202), leader election (operation 203), informationgathering (operation 204), and dissemination of the selectedconfiguration (operation 205).

FIG. 3 depicts a more detailed flow diagram of leader election. Thisdetailed depiction shows a leader node 301 and a non-leader node 302.

Each of the five operations of channel scanning, interference detection,leader election, information gathering, and dissemination of theselected configuration is described in detail below.

1. Channel Scanning (FIG. 4)

All APs and clients may periodically scan channels to maintain anup-to-date channel interference table (operation 401). The details of anembodiment of a channel-scanning algorithm are given in copending patentapplication Ser. No. 10/835,941, filed Apr. 30, 2004.

2. Interference Detection (FIG. 4)

The channel selection process starts when an interference source isdetected (operation 402). All nodes (both access points and clients) maytrack the source of all packets they hear in the current operatingchannel (operation 403). If a client detects an interference source inthe current channel (operation 404), it may notify its AP about the newinterference sources by sending its interference table (operation 405).Upon detection of an interference source, an AP may first collect allthe information from its clients (or uses the readily availableinformation if channel scanning has recently been performed) and searchfor a better channel (operation 406). If a better channel is found(operation 407), it may initiate the channel selection process for theESS (operation 408).

A simple timer mechanism may be used to prevent initiation of thechannel selection process over and over when a node may be forced to usea non-optimal channel. Once channel selection is initiated by a node, itsets this timer to a “current time” plus a “minimum time allowed betweentwo channel selections”, and does not initiate another channel selectionuntil the timer expires.

3. Leader Election (FIG. 5)

Before initiating channel selection, an AP may delay for a random amountof time (operation 501). If the AP has not received a leader electionmessage from any other nodes by an end of the random delay (operation502), it may declare itself the leader and send a leader electionmessage to all of its neighbors (operation 503).

When an AP receives a leader election message, it must decide which nodeto select as its leader (operation 504). If the AP currently believes noother node is the leader, then an initiator of the leader electionmessage may be declared the leader, and the AP may forward the message(operation 505). If the AP already has a leader (either itself, oranother node from a previous leader election message), then it may pickthe leader with the lowest MAC (Medium Access Control) address(operation 506). Whenever the leader changes, the leader electionmessage is forwarded; otherwise it is dropped (operation 507). Note thatthis process will result in the entire network converging on a singleleader: the initiator with the lowest MAC address.

When an AP accepts a new leader, in addition to the leader identity, itmay also record the identity of a next hop on a path to that leader (thenode from which it received the leader election message). In general,frequency hopping utilizes a set of narrow channels and “hops” throughall of them in a predetermined sequence. For example, the 2.4 GHz(GigaHertz) frequency band is divided into 70 channels of 1 MHz(MegaHertz) each. Every 20 to 400 msec (millisecond) the system “hops”to a new channel following a predetermined cyclic pattern.

Leader election ends after a pre-determined time period. This timeperiod may be long enough to allow all leader election messages to bedisseminated throughout the network. Each node may delay for this setperiod after the last received leader election message before itconsiders leader election complete.

Each packet may have a sequence number field that is different thannormal MAC layer sequence number. This sequence number may be used todetect duplicate requests that may arrive from different paths. Sequencenumbers are used not only in leader election message exchanges, but alsofor all other related packet exchanges.

4. Information Gathering (FIG. 6)

Once leader election is complete, each AP (except the leader) maycompile all the information collected from its clients and send it tothe leader AP. This compiled information may travel multihop to theleader AP using a next hop recorded at each node during leader election(operation 601). The leader AP receives and may store the compiledinformation from the other APs (operation 602).

Information gathering may require symmetric links for dissemination ofany messages. In order to detect asymmetric links, neighbor informationmay be added to beacons so that each AP knows who its neighbor'sneighbors are (operation 603). If an AP does not see itself in theneighbor information of one of its neighbors, that AP will decide thatthe link is an asymmetric link (operation 604).

As with leader election, information gathering may complete after apre-determined delay. The leader assumes that information gathering iscomplete once the timer expires (operation 605). This time period shouldbe large enough to include time for leader election to complete requeststo be processed at each node, and for results from each node topropagate back to the leader AP.

5. Dissemination of the Selected Configuration (FIG. 7)

Once information gathering is complete, the leader AP may use thisinformation to select a configuration that best suits the network(operation 701). If a best channel for the ESS mesh network is not acurrent operating channel (operation 702), the leader AP may send achannel change message to all of its neighbors (operation 703).Otherwise, the leader AP does not send a channel change message to allof its neighbors (operation 704). Any AP that receives this channelchange message first forwards it to its neighbors (operation 705). Next,it notifies its clients to change their channels and then switches tothe channel specified in the message (operation 706).

FIG. 8 depicts an example of an ESS mesh network 800 in which may beemployed the exemplary embodiments described above. In the FIG. 8embodiment, the ESS mesh network 800 may have a wireless mesh of severalaccess points, such as hub 801, and clients, such as laptop computer802. As depicted in FIG. 8, the ESS mesh network 800 may be operativelycoupled to the Internet 804.

Centralized configuration management requires a special management nodeto be present in every network. The exemplary embodiments allow amanagement node to be dynamically elected whenever a configurationchange is needed. Thus, no special node is required. The exemplaryembodiments are therefore resilient to single points of failure.

Centralized configuration also requires each node to continuously reportstatus information, so that the management node can initiateconfiguration changes in response to environmental changes. Because theexemplary embodiments allow any node to initiate configurationmanagement in a distributed manner, information need only be shared whenchanges occur. Thus, the exemplary embodiments have lower informationgathering overhead than a completely centralized approach.

Manual configuration of RF parameters depends on the action of a humanto react to the changing environment. The exemplary embodiments allow anetwork to automatically adapt to environmental changes without humanintervention.

Device self-configuration and management of radio settings to adapt todynamic changes in the wireless environment help to improve theperformance of the entire network. The use of the exemplary embodimentssignificantly increases the throughput of each AP and the overallnetwork throughput.

While the operational principles have been described in connection withexemplary embodiments, it is understood that they are not so limited. Onthe contrary, it is intended to cover all alternatives, modificationsand equivalents as may be included within the spirit and scope asdefined in the appended claims.

1. A method comprising: a plurality of nodes in a wireless networkself-configuring a channel for communication among the nodes.
 2. Themethod of claim 1, wherein selected nodes perform channel-scanning tomaintain a channel interference table.
 3. The method of claim 2, furthercomprising: a node detecting an interference source in a currentoperating channel.
 4. The method of claim 3, further comprising: afterdetecting the interference source, the node initiating achannel-selection process.
 5. The method of claim 4, further comprising:after initiating the channel-selection process, setting a timer; and thenode not initiating another channel selection process until the timerexpires.
 6. The method of claim 4, further comprising: before initiatingthe channel-selection process, setting a timer.
 7. The method of claim6, further comprising: when the timer expires, if the node has notreceived a leader election message, the node declaring itself leader. 8.The method of claim 7, further comprising: the node sending a leaderelection message to its neighbors.
 9. The method of claim 8, furthercomprising: a neighbor node receiving the leader election message; andthe neighbor node deciding whether to accept the sending node as leader;if so, the neighbor node not forwarding the leader election message; ifnot, the neighbor node picking a leader with a lowest medium accesscontrol address, and the neighbor node forwarding the leader electionmessage to its neighbors.
 10. The method of claim 1, further comprising:choosing a leader node from the plurality of nodes.
 11. The method ofclaim 10, further comprising: each node sending information to theleader node.
 12. The method of claim 11, wherein the informationcomprises at least one of a scan length parameter, a channel scan periodparameter, initial channel assignment parameters, and a rule parameterfor determining a next channel to scan.
 13. The method of claim 11,further comprising: terminating the sending of information uponexpiration of a timer.
 14. The method of claim 11, further comprising:the leader node using the information to select an optimum channel. 15.The method of claim 14, further comprising: if the optimum channel isnot the current channel, the leader node sending a channel changemessage to its neighbors.
 16. The method of claim 15, furthercomprising: any neighbor receiving a channel change message forwardingit to its neighbors.
 17. The method of claim 15, further comprising: anyneighbor receiving a channel change message notifying one or moreclients to change to a new channel; and the neighbor subsequentlychanging to the new channel.
 18. The method of claim 14, furthercomprising: if the optimum channel is the current channel, the leadernode not sending a channel change message to its neighbors.
 19. Amethod, comprising: periodically scanning, by all access points andclients, channels to maintain an up-to-date channel interference tableand detect an interference source; detecting an interference source;electing a leader access point; and gathering, by each access pointexcept the leader access point, information from respective clients ofeach access point, and sending the information to the leader accesspoint.
 20. The method according to claim 19, further comprising:selecting, by the leader access point, optimal radio frequencyparameters using the information received by the leader access point;and disseminating the selected radio frequency parameters to the accesspoints.
 21. The method according to claim 20, wherein the optimal radiofrequency parameter is at least a configuration parameter that isrepresentative of an optimal configuration for the extended service setmesh network.
 22. A method, comprising: periodically scanning, by allaccess points and clients, channels to maintain an up-to-date channelinterference table and to detect an interference source; detecting aninterference source; electing a leader access point; gathering, by eachaccess point except the leader access point, information from respectiveclients of each access point, and sending the information to the leaderaccess point; selecting, by the leader access point, an optimalconfiguration using the information received by the leader access point;and disseminating the selected configuration to the access points. 23.The method according to claim 22, wherein all access points and clientstrack a source of all packets they hear in a current operating channel.24. The method according to claim 22, wherein, if a client detects aninterference source in a current channel, the client notifies itsrespective access point about the interference source by sending theinterference table of the client to the respective access point.
 25. Themethod according to claim 22, wherein, upon detection of an interferencesource, a respective access point first collects all the informationfrom its clients and searches for a better channel; and wherein, if abetter channel is found, the respective access point initiates a channelselection process for the network.
 26. The method according to claim 22,wherein a timer is used to prevent repeated initiation of a channelselection process when a node is forced to use a non-optimal channel.27. The method according to claim 26, wherein, once channel selection isinitiated by a respective node, the respective node sets the timer to acurrent time plus a minimum time allowed between two channel selectionsand does not initiate another channel selection until the timer expires.28. The method according to claim 22, wherein, before initiating channelselection, a respective access point delays for a random amount of time;and wherein if the respective access point has not received a leaderelection message from any other node by an end of the random delay, therespective access point declares itself the leader access point andsends a leader election message to all of its neighboring access points.29. The method according to claim 22, wherein, when a respective accesspoint receives a leader election message, if the respective access pointcurrently believes no other node is the leader access point, then aninitiator of the leader election message is declared the leader accesspoint, and the respective access point forwards the leader electionmessage, and if the respective access point already has a leader accesspoint, then the respective access point picks, as the leader accesspoint, an access point with a lowest medium access control address. 30.The method according to claim 22, wherein, the entire network convergeson a single leader access point, which is an initiator with a lowestmedium access control address.
 31. The method according to claim 22,wherein, when a respective access point accepts a new leader accesspoint, the respective access point records an identity of the new leaderaccess point and an identity of a next hop on a path to the new leaderaccess point, which is a node from which the respective access pointreceived the leader election message.
 32. The method according to claim22, wherein leader election ends after a pre-determined time period;wherein the time period is long enough to allow all leader electionmessages to be disseminated throughout the network; and wherein, afterthe last received leader election message is received by a respectivenode, the respective node delays until an end of the time period beforethe respective node considers leader election to be complete.
 33. Themethod according to claim 22, wherein the information travels multihopto the leader access point using the next hop recorded at each nodeduring leader election.
 34. The method according to claim 22, whereineach access point, except the leader access point, compiles all theinformation collected from its clients and sends it to the leader accesspoint leader; and wherein the leader access point receives and storesthe compiled information.
 35. The method according to claim 22, whereininformation gathering completes after a pre-determined delay; andwherein the pre-determined delay is large enough to include time forleader election to complete, for requests to be processed at each node,and for results from each node to propagate back to the leader accesspoint.
 36. The method according to claim 22, wherein, once informationgathering is complete, the leader access point uses the information toselect a best channel for the network; wherein if the best channel forthe extended service set mesh is not a current operating channel, theleader access point sends a channel change message to all of itsneighbors; and wherein any access point that receives the channel changemessage first forwards the channel change message to its neighboringaccess points, next notifies its clients to change their channels, andthen switches to the channel specified in the channel change message.37. A system, comprising: a wireless mesh of nodes of access points andclients; a channel-scanning subsystem structured to periodically scan,by all access points and clients, channels to maintain an up-to-datechannel interference table and to detect an interference source; aninterference detection subsystem structured to detect an interferencesource; a leader election subsystem structured to elect a leader accesspoint; an information gathering subsystem structured to gather, by eachaccess point except the leader access point, information from respectiveclients of each access point, and to send the information to the leaderaccess point, the leader access point selecting an optimal configurationusing the information received by the leader access point; adissemination of the selected configuration subsystem structured todisseminate the selected configuration to the access points; and thewireless mesh of nodes of access points and clients, the channelscanning subsystem, the interference detection subsystem, the leaderelection subsystem, the information gathering subsystem, and thedissemination of the selected configuration subsystem being operativelycoupled to one another.
 38. The system according to claim 37, wherein atimer is used to prevent repeated initiation of a channel selectionprocess when a node is forced to use a non-optimal channel.
 39. Thesystem according to claim 38, wherein, once channel selection isinitiated by a respective node, the respective node sets the timer to acurrent time plus a minimum time allowed between two channel selectionsand does not initiate another channel selection until the timer expires.40. A computer readable medium having program instructions storedthereon for implementing, when executed by a digital processing device,a method for executing an application, the method comprising:periodically scanning, by all access points and clients, channels tomaintain an up-to-date channel interference table and to detect aninterference source; detecting an interference source; electing a leaderaccess point; gathering, by each access point except the leader accesspoint, information from respective clients of each access point, andsending the information to the leader access point; selecting, by theleader access point, an optimal configuration using the informationreceived by the leader access point; and disseminating the selectedconfiguration to the access points.
 41. The computer readable medium ofclaim 40, wherein the method further comprises, if a client detects aninterference source in a current channel, the client notifying itsrespective access point about the interference source by sending theinterference table of the client to the respective access point.
 42. Thecomputer readable medium of claim 40, wherein the method furthercomprises, upon detection of an interference source, a respective accesspoint first collecting all the information from its clients andsearching for a better channel; and if a better channel is found, therespective access point initiating a channel selection process for thenetwork.
 43. The computer readable medium of claim 40, wherein themethod further comprises, before initiating channel selection, arespective access point delaying for a random amount of time; and if therespective access point has not received a leader election message fromany other node by an end of the random delay, the respective accesspoint declaring itself the leader access point and sending a leaderelection message to all of its neighboring access points.
 44. Thecomputer readable medium of claim 40, wherein the method furthercomprises, when a respective access point receives a leader electionmessage, and if the respective access point currently believes no othernode is the leader access point, then declaring an initiator of theleader election message the leader access point, and the respectiveaccess point forwarding the leader election message, and if therespective access point already has a leader access point, then therespective access point picking, as the leader access point, an accesspoint with a lowest medium access control address.
 45. The computerreadable medium of claim 40, wherein the method further comprises, whena respective access point accepts a new leader access point, therespective access point recording an identity of the new leader accesspoint and an identity of a next hop on a path to the new leader accesspoint, which is a node from which the respective access point receivedthe leader election message.
 46. The computer readable medium of claim40, wherein the method further comprises, once information gathering iscomplete, the leader access point using the information to select a bestchannel for the network; if the best channel for the extended serviceset mesh is not a current operating channel, the leader access pointsending a channel change message to all of its neighbors; and any accesspoint that receives the channel change message first forwarding thechannel change message to its neighboring access points, next notifyingits clients to change their channels, and then switching to the channelspecified in the channel change message.